package domain.test;

import java.sql.SQLException;

import dominio.Categoria;
import dominio.Usuario;
import junit.framework.*;

public class testCategoria extends TestCase{
	
	private Categoria cat;
	
	public testCategoria() { }
	
	public void testaddUCategoria() throws SQLException{
		try{
			
			cat = new Categoria("Deportes", "Productos deportivos", (long)1);
			cat.create(true, true);
			Categoria aux = Categoria.read(cat.getId(), true);
			assertEquals("La categoria se ha creado con exito",cat.getName(),"Deportes");
		}catch(Exception e){
			fail();
		}
	}
	
	public void testaddProductofail() throws SQLException{
		try{
			cat = new Categoria("Deportes", "Productos deportivos", (long)2);
			cat.create(true, true);
			Categoria aux = Categoria.read(cat.getId(), true);
			fail();
		}catch(Exception e){
			System.out.println("La categoria ya esta en la base de datos");
		}
	}
	
	public void testModificarCategoria() throws SQLException{
		try{
			Categoria cat = new Categoria("Embutidos", "Embutidos", (long)3);
			cat.create(true, true);
			cat=Categoria.read(cat.getId(), true);
			cat.setName("Jamoncito");
			cat.update(cat, true);
			Categoria aux=Categoria.read(cat.getId(),true);
			assertEquals("La Categoria se ha modificado correctamente",aux.getName(),"Jamoncito");
		}catch(Exception e){
			fail();
		}
	}
	
	public void testDeleteProducto() throws SQLException{
		try{
			Categoria cat = new Categoria("Electrodomesticos", "FAGOR", (long)4);
			cat.create(true, true);
			cat=Categoria.read(cat.getId(), true);
			cat.delete(true);
			Categoria aux=Categoria.read(cat.getId(),true);
			assertNull(aux);
		}catch(Exception e){
			fail();
		}
	}
	


}

